<?php

class HttpUtil{
	
	public static function vaiPara($strLocal, $cripto=false){
		if($cripto){
			$objCrypt = new Cryptografia();
			header("Location: ?c=".$objCrypt->cryptData($strLocal));
		}else{
			header("Location: ".$strLocal);
		}
	}
	
	public static function exibeMsg($strMens){
		$arrCaracteres = array("Ã¡", "Ã ", "Ã¢", "Ã£", "Ã¤", "Ã�", "Ã€", "Ã‚", "Ãƒ", "Ã„", "Ã©", "Ã¨", "Ãª", "Ãª", "Ã‰", "Ãˆ", "ÃŠ", "Ã‹", "Ã­", "Ã¬", "Ã®", "Ã¯", "Ã�", "ÃŒ", "ÃŽ", "Ã�", "Ã³", "Ã²", "Ã´", "Ãµ", "Ã¶", "Ã“", "Ã’", "Ã”", "Ã•", "Ã–", "Ãº"," Ã¹", "Ã»", "Ã¼", "Ãš", "Ã™", "Ã›", "Ã§", "Ã‡", "Ã±", "Ã‘", "\&", "\'");
		$arrUnicode = array("\u00e1", "\u00e0", "\u00e2", "\u00e3", "\u00e4",  "\u00c1", "\u00c0", "\u00c2", "\u00c3","\u00c4", "\u00e9", "\u00e8", "\u00ea", "\u00ea",  "\u00c9", "\u00c8", "\u00ca", "\u00cb", "\u00ed", "\u00ec", "\u00ee", "\u00ef", "\u00cd", "\u00cc",  "\u00ce", "\u00cf", "\u00f3", "\u00f2", "\u00f4", "\u00f5",  "\u00f6", "\u00d3", "\u00d2", "\u00d4", "\u00d5", "\u00d6", "\u00fa",  "\u00f9", "\u00fb", "\u00fc", "\u00da", "\u00d9",  "\u00db", "\u00e7", "\u00c7", "\u00f1", "\u00d1",  "\u0026", "\u0027");
		$strMens = str_replace($arrCaracteres, $arrUnicode, $strMens);
		print("<script>alert(\"".$strMens."\");</script>");
	}
	
	/**
	 * 
	 * Metodo utilizado para criaÃ§Ã£o dos links de acordo com o padrÃ£o de exibiÃ§Ã£o escolhido.
	 * O primeiro parametro Ã© o $menu, array com todas as opcoes de menu criadas no defaultAdmin.
	 * O segundo parametro Ã© o primeiro indice do $menu
	 * O terceiro parametro Ã© o segundo indice do $menu
	 */
	public static function getLink() {
		$arrDados = func_get_args();
		$arrMenu = $arrDados[0];
		
		if(count($arrDados) > 2 || (count($arrDados) == 2 && substr((string)$arrDados[1], 0, 4) == "pos1")){
			for($i=1; $i<count($arrDados); $i++){
				$aux = explode("=", $arrDados[$i]);
				$arrNovoDados[$aux[0]] = $aux[1];
				$aux = null;
			}
		}else{
			for($i=0; $i<count($arrDados[1]); $i++){
				$aux = explode("=", $arrDados[1][$i]);
				$arrNovoDados[$aux[0]] = $aux[1];
				$aux = null;
			}
		}
		
		if(!isset($arrNovoDados["pos1"]))
			die("N&Atilde;O FOI PASSADO A POS1 DO ARRAY MENU.");
			
		$arrNovoDados["pos2"] = (!isset($arrNovoDados["pos2"]))?"url_basica":$arrNovoDados["pos2"];
		switch ($arrNovoDados["pos1"]){
			case "CrudExportaDados": 
			case "CrudImpressao": 
				if(PADRAO_EXIBICAO == PE_CRIPTOGRAFADA){
					$arrMenuAux = null; 
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
						$arrMenuAux["a"] = ($arrNovoDados["a"])?$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
							$arrMenuAux["id"] = ($arrNovoDados["id"])?$arrNovoDados["id"]:null;
							if(!empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
								$arrMenuAux["dados"] = ($arrNovoDados["dados"])?$arrNovoDados["dados"]:null;
								if(!empty($arrNovoDados["equipe"])){
									$arrMenuAux["equipe"] = $arrNovoDados["equipe"];
								}
							}
						}
					}
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]].(!empty($arrMenuAux)?"?p=".base64_encode(serialize(FormataPost::limpaArray($arrMenuAux))):"");
				}elseif(PADRAO_EXIBICAO == PE_AMIGAVEL){
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]];
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
						$strMenu .= ($arrNovoDados["a"])?$arrNovoDados["a"]."/":"null/";
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
							$strMenu .= ($arrNovoDados["id"])?$arrNovoDados["id"]."/":"null/";
							if(!empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
								$strMenu .= ($arrNovoDados["dados"])?$arrNovoDados["dados"]."/":"null/";
								if(!empty($arrNovoDados["equipe"])){
									$strMenu .= $arrNovoDados["equipe"]."/";
								}
							}
						}
					}
				}else{
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]]."?";
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
						$strMenu .= ($arrNovoDados["a"])?"&a=".$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
							$strMenu .= ($arrNovoDados["id"])?"&id=".$arrNovoDados["id"]:null;
							if(!empty($arrNovoDados["dados"]) || !empty($arrNovoDados["equipe"])){
							$strMenu .= ($arrNovoDados["dados"])?"&dados=".$arrNovoDados["dados"]:null;
								if(!empty($arrNovoDados["equipe"])){
									$strMenu .= "&equipe=".$arrNovoDados["equipe"];
								}
							}
						}
					}
				}
				break;
			case "CrudCategorias": 
			case "CrudProdutos":
			case "CrudClientes":
			case "CrudOrcamentos": 
			case "CrudEventos": 
			case "CrudUsuarios": 
			case "TrocaSenha": 
				if(PADRAO_EXIBICAO == PE_CRIPTOGRAFADA){
					$arrMenuAux = null; 
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
						$arrMenuAux["a"] = ($arrNovoDados["a"])?$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
							$arrMenuAux["id"] = ($arrNovoDados["id"])?$arrNovoDados["id"]:null;
							if(!empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
								$arrMenuAux["pag"] = ($arrNovoDados["pag"])?$arrNovoDados["pag"]:null;
								if(!empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
									$arrMenuAux["ord"] = ($arrNovoDados["ord"])?$arrNovoDados["ord"]:null;
									if(!empty($arrNovoDados["msg"])){
										$arrMenuAux["msg"] = $arrNovoDados["msg"];
									}
								}
							}
						}
					}
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]].(!empty($arrMenuAux)?"?p=".base64_encode(serialize(FormataPost::limpaArray($arrMenuAux))):"");
				}elseif(PADRAO_EXIBICAO == PE_AMIGAVEL){
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]];
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
						$strMenu .= ($arrNovoDados["a"])?$arrNovoDados["a"]."/":"null/";
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
							$strMenu .= ($arrNovoDados["id"])?$arrNovoDados["id"]."/":"null/";
							if(!empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
								$strMenu .= ($arrNovoDados["pag"])?$arrNovoDados["pag"]."/":"null/";
								if(!empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
									$strMenu .= ($arrNovoDados["ord"])?$arrNovoDados["ord"]."/":"null/";
									if(!empty($arrNovoDados["msg"])){
										$strMenu .= $arrNovoDados["msg"]."/";
									}
								}
							}
						}
					}
				}else{
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]]."?";
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
						$strMenu .= ($arrNovoDados["a"])?"&a=".$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["id"]) || !empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
							$strMenu .= ($arrNovoDados["id"])?"&id=".$arrNovoDados["id"]:null;
							if(!empty($arrNovoDados["pag"]) || !empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
								$strMenu .= ($arrNovoDados["pag"])?"&pag=".$arrNovoDados["pag"]:null;
								if(!empty($arrNovoDados["ord"]) || !empty($arrNovoDados["msg"])){
									$strMenu .= ($arrNovoDados["ord"])?"&ord=".$arrNovoDados["ord"]:null;
									if(!empty($arrNovoDados["msg"])){
										$strMenu .= "&msg=".$arrNovoDados["msg"];
									}
								}
							}
						}
					}
				}
				break;
			case "Login": 
			case "RecuperaSenha": 
			case "Logout":
			case "Contato": 
				if(PADRAO_EXIBICAO == PE_CRIPTOGRAFADA){
					$arrMenuAux = null; 
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["msg"])){
						$arrMenuAux["a"] = ($arrNovoDados["a"])?$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["msg"])){
							$arrMenuAux["msg"] = $arrNovoDados["msg"];
						}
					}
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]].(!empty($arrMenuAux)?"?p=".base64_encode(serialize(FormataPost::limpaArray($arrMenuAux))):"");
				}elseif(PADRAO_EXIBICAO == PE_AMIGAVEL){
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]];
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["msg"])){
						$strMenu .= ($arrNovoDados["a"])?$arrNovoDados["a"]."/":"null/";
						if(!empty($arrNovoDados["msg"])){
							$strMenu .= $arrNovoDados["msg"]."/";
						}
					}
				}else{
					$strMenu = $arrMenu[$arrNovoDados["pos1"]][$arrNovoDados["pos2"]]."?";
					if(!empty($arrNovoDados["a"]) || !empty($arrNovoDados["msg"])){
						$strMenu .= ($arrNovoDados["a"])?"&a=".$arrNovoDados["a"]:null;
						if(!empty($arrNovoDados["msg"])){
							$strMenu .= "&msg=".$arrNovoDados["msg"];
						}
					}
				}
				break;
			case "Index": 
				$strMenu = LINK_ADMIN;
				break;
		}
		//Debuga::debuga($strMenu);
		return $strMenu;
	}
}
?>